package com.he.annotation;

import com.he.validator.CommentTypeValidator;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;

import java.lang.annotation.*;

/**
 * @author He
 * @version 1.0
 * @Date 2023/9/27 18:35
 * @Desc 自定义注解 @CommentType 用于校验评论类型字段，它可以通过设置 values 属性来指定允许的评论类型，
 *       并通过 CommentTypeValidator 类来执行实际的校验逻辑
 */
@Documented
@Constraint(validatedBy = {CommentTypeValidator.class})
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface CommentType {

    String message() default "{javax.validation.constraints.NotBlank.message}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    /**
     * @return 评论类型
     */
    int[] values() default {};

}
